The present invention relates generally to data processing systems, and in particular, to systems and methods for real time progress monitoring in a computer network.
Network distribution of software products has become one of the most important means by which a software vendor can efficiently and conveniently support its customers. Notwithstanding, these procedures take time, which often results in frustration and impatience on the part of the receiving customers. For example, a distribution of a large software package (i.e., greater than 100 megabytes) to a large number of end user machines (i.e., greater than a 1000) can take many hours if not days. During this time, the end users are often left wondering about the status of the download. In addition, a distribution can encounter a variety of errors and similar anomalies, including unavailable target machines on the network, failed installation on various end user machines, and network outages. In these cases, both the distributing entity and the end users have a vested interest in monitoring the distribution progress.
Currently available software distribution methods provide little, if any, feedback to the end users with regards to the progress and status of the download process. Often the end users are presented with a simple hourglass icon on their computer screens which indicates that the process has been initiated, but provides little information as to when the distribution might finish or if any errors have been encountered. It is not until the distribution is finally finished, that the end user is provided with a dialog box indicating that either the download has been successful or that an error has occurred at some point during the process. The actual source of any errors may or may not be clearly identified. Moreover, once a distribution has been initiated, it cannot be canceled, unless the downloading server is restarted by specific invocation of a command line. When this happens, the states of each node in the network can be left in an indeterminate state.
In sum, the need has arisen for systems and methods which reduce the level of frustration often experienced by end users patiently awaiting the receipt of a software distribution. Among other things, these systems and methods should allow the end users to monitor the progress to get a reasonable idea of when the distribution might finish as well as advising those end users of any errors which have occurred which are affecting the download process.
The principles of the present invention are embodied in methods of monitoring data distribution progress in computer networks, as well as the computer networks themselves. According to these principles, a method of monitoring data distribution progress is disclosed for a computer network including a Distribution Manager and an end-user terminal communicating with the Distribution Manager through at least one node in the network. The Distribution Manager generates an identifier associated with the distribution and a routing to the end-user terminal through the network. A Distribution State Table maintaining information describing the progress of the distribution is updated by the Distribution Manager along with a Node State Table maintaining information describing a status of the Node in the network. The distribution data is transmitted to the end-user via the selected routing. Data describing the status of the end-user terminal is collected from the end-user terminal at the Repeater and then transmitted to the Distribution Manager. The Distribution Manager updates the Distribution State and Node State Tables with the data received from the Node.
The present invented principals are also embodied in a computer network which includes a server for running a Distribution Manager for controlling operations in an associated database. A source repeater is coupled to the server and operates in response to an application program, the application program initiating a data distribution. The network includes a plurality of target machines for receiving data during a distribution and generating status information in response. A gateway repeater is coupled to the plurality of target machines and collects status information generated by the target machines and transmits that status information to the Distribution Manager for storage in the corresponding tables within the database. The status data is transmitted to the Distribution Manager via at least one other repeater in the network. A user interface allows user access to data stored within the tables within the interface.
The principles of the present invention provides substantial advantages over the prior art. Among other things, it allows a system administrator, or even an authorized endpoint user, to monitor the status of a data distribution being made across a computer network for a multiplicity of targets. The ability to monitor the status of the distribution allows for an estimation of the time required to complete the distribution as well as a means for detecting anomalies occurring during the distribution. For example, the ability to monitor allows the monitoring party to determine if a given end-point is unavailable or has failed to successfully download the data being distributed.
The foregoing has outlined rather broadly the features and technical advantages of the present invention in order that the detailed description of the invention that follows may be better understood. Additional features and advantages of the invention will be described hereinafter which form the subject of the claims of the invention.